package com.young.shop.service;

import com.github.pagehelper.PageInfo;
import com.young.domain.SysRole;
import com.young.req.AddRoleReq;
import com.young.req.SysRolePageReq;
import com.young.req.UpdateRoleReq;
import com.young.res.RoleInfoRes;
import java.util.List;

/**
 * @Description: 角色管理服务类
 * @Author: kangyang
 * @Date: 2021/5/15 18:03
 **/
public interface SysRoleService {

  /**
   * @Author kangyang
   * @Description 查询角色列表
   * @Date 18:08 2021/5/15
   * @Param []
   * @return java.util.List<com.young.domain.SysRole>
   **/
  List<SysRole> getRoleList();

  /**
   * @Author kangyang
   * @Description 根据用户Id获取角色信息
   * @Date 18:25 2021/5/15
   * @Param []
   * @return java.util.List<com.young.domain.SysRole>
   **/
  List<Long> getRoleIdByUserId(Long userId);

  /**
   * @Author kangyang
   * @Description 分页查询角色列表
   * @Date 0:02 2021/5/16
   * @Param [sysRolePageReq]
   * @return com.github.pagehelper.PageInfo<com.young.domain.SysRole>
   **/
  PageInfo<SysRole> getRolePage(SysRolePageReq sysRolePageReq);

  /**
   * @Author kangyang
   * @Description 新增角色
   * @Date 0:24 2021/5/16
   * @Param [addRoleReq]
   * @return java.lang.Boolean
   **/
  Boolean insertRole(AddRoleReq addRoleReq);

  /**
   * @Author kangyang
   * @Description 根据角色Id查询角色信息你
   * @Date 9:57 2021/5/16
   * @Param [roleId]
   * @return com.young.res.RoleInfoRes
   **/
  RoleInfoRes getCurrentRoleByRoleId(Long roleId);

  /**
   * @Author kangyang
   * @Description 根据角色Id删除角色信息
   * @Date 10:20 2021/5/16
   * @Param [roleIds]
   * @return java.lang.Boolean
   **/
  Boolean deleteRoleByRoleIds(List<Long> roleIds);

  /**
   * @Author kangyang
   * @Description 编辑角色信息
   * @Date 15:20 2021/5/16
   * @Param [updateRoleReq]
   * @return java.lang.Boolean
   **/
  Boolean updateRoleInfo(UpdateRoleReq updateRoleReq);
}
